home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / gdb-4.5 / dist / gdb / tm-amix.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-04  |  2.6 KB  |  78 lines

  1. /* Macro definitions for GDB on a Commodore Amiga running SVR4 (amix).
  2.    Copyright (C) 1991, Free Software Foundation, Inc.
  3.    Written by Fred Fish at Cygnus Support (fnf@cygint)
  4.  
  5. This file is part of GDB.
  6.  
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or
  10. (at your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. /* All Amiga's (so far) running UNIX have come standard with the floating
  22.    point coprocessor. */
  23.  
  24. #define HAVE_68881
  25.  
  26. /* Define BPT_VECTOR if it is different than the default.
  27.    This is the vector number used by traps to indicate a breakpoint. */
  28.  
  29. #define BPT_VECTOR 0x1
  30.  
  31. /* How much to decrement the PC after a trap.  Depends on kernel. */
  32.  
  33. #define DECR_PC_AFTER_BREAK 0        /* No decrement required */
  34.  
  35. /* Address of end of stack space.  Actually one byte past it.
  36.    This value is typically very OS dependent.
  37.    FIXME:  Check to see if SVR4 offers some machine independent way
  38.    of discovering this value and use it if so, and if we need it. */
  39.  
  40. /* #define STACK_END_ADDR 0xc0800000 */
  41.  
  42. /* Use the alternate method of determining valid frame chains. */
  43.  
  44. #define FRAME_CHAIN_VALID_ALTERNATE
  45.  
  46. #include "tm-sysv4.h"
  47. #include "tm-68k.h"
  48.  
  49. /* Offsets (in target ints) into jmp_buf.  Not defined in any system header
  50.    file, so we have to step through setjmp/longjmp with a debugger and figure
  51.    them out.  As a double check, note that <setjmp> defines _JBLEN as 13,
  52.    which matches the number of elements we see saved by setjmp(). */
  53.  
  54. #define JB_ELEMENT_SIZE sizeof(int)    /* jmp_buf[_JBLEN] is array of ints */
  55.  
  56. #define JB_D2    0
  57. #define JB_D3    1
  58. #define JB_D4    2
  59. #define JB_D5    3
  60. #define JB_D6    4
  61. #define JB_D7    5
  62. #define JB_A1    6
  63. #define JB_A2    7
  64. #define JB_A3    8
  65. #define JB_A4    9
  66. #define JB_A5    10
  67. #define JB_A6    11
  68. #define JB_A7    12
  69.  
  70. #define JB_PC    JB_A1    /* Setjmp()'s return PC saved in A1 */
  71.  
  72. /* Figure out where the longjmp will land.  Slurp the args out of the stack.
  73.    We expect the first arg to be a pointer to the jmp_buf structure from which
  74.    we extract the pc (JB_PC) that we will land at.  The pc is copied into ADDR.
  75.    This routine returns true on success */
  76.  
  77. #define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
  78.